package Lab4;

import java.util.ArrayList;

public class GenericShuffle {

    public static <E> void shuffle(ArrayList<E> list) {
        int index;
        E temp;
        for (int i = 0; i < list.size(); i++) {
            index = (int) (Math.random() * list.size());
            temp = list.get(i);
            list.set(i, list.get(index));
            list.set(index, temp);
        }
    }
//
//    public static void shuffle(ArrayList<Number> list) {
//        int index, temp;
//        for (int i = list.size() - 1; i >= 0; i--) {
//            index = (int) (Math.random() * list.size());
//            temp = (int)list.get(i);
//            list.set(i, list.get(index));
//            list.set(index, temp);
//        }
//    }

    public static void main(String[] args) {
        ArrayList<Number> list = new ArrayList<>();
        list.add(3);
        list.add(5);
        list.add(6);
        list.add(8);
        list.add(9);
        shuffle(list);

        System.out.println(list);

        ArrayList<Integer> l= new ArrayList<>();
        l.add(1);
        l.add(2);
        l.add(3);
        l.add(4);
        l.add(5);
        shuffle(l);
        System.out.println(l);
    }
}
